package rbm.modelado.soluciones;

import java.util.Vector;

import rbm.modelado.datos.elementos.BlockPosNode;
import rbm.modelado.datos.elementos.interfaces.Path;
import modelado.soluciones.SolucionConjunto;

public interface SolucionRBM extends SolucionConjunto {
	 
	public Boolean isSolvable();
	
	public Path getPath();
	
	public Integer getSolutionLength();
	
	public Integer getNumBranches();
	
	public BlockPosNode getBestFinishNode();

	public BlockPosNode getLongestPathNode();
	 
	public BlockPosNode getMostBranchesNode();

	public Vector getEdgeList();

	public Integer getNumNodes();

	public Integer getNumDirectionChanges();

	public Integer getTotalLoopLength();

	public Integer getNumLoops();

	 // Returns x-coordinate of the node at the end of the
	 // longest path in the puzzle

    public Integer getLongX();

	 // Returns y-coordinate

    public Integer getLongY();


}
